package com.excerise.recursion.entity;

/**
 *
 *
 * @author Way on 2021/7/28
 */
public class Demo01 {

    /**
     * 递归
     * @param n
     */
    public void test(int n) {
        if (n > 2) {
            test(n - 1);
        }
        System.out.println("n=" + n);
    }

    /**
     * 阶乘
     * @param n
     * @return
     */
    public int factorial(int n) {
        if (n == 1) {
            return n;
        } else {
            return factorial(n - 1) * n;
        }
    }

    /**
     * 递归斐波那契
     *
     * @param n
     * @return
     */
    public int fibonacci(int n) {
        if (n >= 1) {
            if (n == 1 || n == 2) {
                return 1;
            } else {
                return fibonacci(n - 1) + fibonacci(n - 2);
            }
        } else {
            System.out.println("输入的数必须大于等于1");
            return -1;
        }
    }
}
